Regan Music's profile

Ice Age Adventures

Ice Age Adventures
A licensed IP franchise game for mobile.
This was a massive team project during my time at Gameloft, Everything in the above video is the work of many people together. My hand in all this was... well, a few things. Essentially a technical artist but there were a lot of general tasks all throughout production centered around characters and environments. I also managed most of the core level-design and implementation most of the way through.
Characters
Practically every member of our team had some part in each of the characters at some point. Our agile workflow meant nobody really owned any one of the animals. So some animals I started, but had it finished by another, some the other way around.

Basically Blue Sky had sent us their actual film models, they were high poly and awesome! But the task was to de-rez them, they needed to function on mobile while retaining Blue Sky's style. This is why we spent so long cycling through this task again and again. Characters were CONSTANTLY being iterated on and 90% of the battle was performance, especially in cases like Manny who had a lot of hair, we had to shave it all off and paint it onto his skin instead. Some of the characters we got to as low as 130 polys. There were possibly some even lower than that.

Rudy, for example, the large albino dino? And also the t-rex, they both have sortof... a triangle shaped tummy. We just tried really hard to make sure the camera never had a proper look at this.
To simplify, we looked at the following problems as we aimed for the Ice Age aesthetic:

- Characters needed to run on mobile.
- Low poly characters were losing a lot of the silhouette they needed for their authentic charm.
- The actual ice age textures and shapes were more difficult to make out on the small mobile screens.
- We needed our characters to pop, more-so than they did in the films.
- We had a few characters that had no film reference because new animal concepts were appearing either in-studio or sent to us from Blue Sky.
- Most of the animals had baby versions as well! This is something we couldn't always reference directly from the film, in fact, more often, there wasn't film reference.
This led to a lot of neat little decisions. The problems we were trying to solve meant a few liberties:

- Eyes were made bigger for more emotional impact.
- Heads were often larger than we would normally have made them. Babies especially followed strict large head / eyes rules.
- All eyes needed a large colourful ring around the pupil and a large specular dot on the edge of the pupil, leading into the outer ring.
- Saturation was boosted on all character textures, even ones provided by Blue Sky. Sometimes entire colours were changed.
- All textures were simplified for readability. Fine details like fur were heavily done away with while medium to large details were accentuated and also simplified.
- A rim shader was applied to all animals, either blue or yellow, depending on the type of environment they were trying to reflect, either snow or tropical.

Choices like this led to visible characters from a distance.
Interestingly enough, I wouldn't be surprised if there were roughly 200 animals overall in this game. That's a lot of modeling, texturing, reviewing, rigging and animation. We actually had a few animals that were able to share rigs between each other. And in some cases... animations. This did mean models had to be suitable for these rigs so it's quite funny all the things that can affect aesthetics, in this case, performance was a deciding factor for some of our animal silhouettes. Interesting, yeah? No? Well, whatever, it is to me :)
Light Baking
We actually had one of our Technical Artists standardize a light-rig for us in-house that we would bake all animal textures under for a unified, final aesthetic post-texturing.

As a character artist, our jobs were simplified.

- Model character.
- Texture character.
- Throw character into the light rig, bake.
- Composite the result in Photoshop, done.
Environments
Environments were handled with care, but we also optimized like crazy in this area. Most assets are pre-rendered onto folded polygonal cards.
Shadows
I'Characters had real-time shadows (A), and they were the only things that did.

On the islands, we had 2 forms of shadows, the first pertained to the terrain of the island (B). We didn't waste texels on un-shadowed terrain, we only baked the shadows we needed onto little cards, this kept texture resolution for these shadows as high as possible. So each plateau had a shadow mesh beneath it, as you can see below:
C) The second type of shadows in our environment were those pertaining to each type of interactive object placed onto an island. Each object was a pre-rendered 3D to 2D asset. As a folded card it meant characters could be seen isometrically standing in front of it, and above the shadowed region. 
This was employed anywhere where pre-rendered assets could be used. As well as rocks and trees, we also employed this folds-trick on the habitats in the home village.
Each one of those habitats is a folded piece of geometry, allowing animals to stand in the play area, and allowing AI to walk behind the upward facing part of the fold at the back.
Islands
All of Ice Age Adventures' gameplay took place on islands, snowy islands, tropical islands, volcanic islands, large, medium, small islands. Now while we had almost free-reign with the shape of the home island, the adventure islands had to conform to grid-based level design. I was tasked with designing fun and interesting grids, then wrapping island geometry around those grids before placing trees and rocks on them. Our smallest island is probably the easiest example.
It would have been built around a grid, like the following:
So basically, we could do whatever we wanted with the non-walkable area, as long as we made it clear that it was non-walkable. I admit, it still looks really grid-like, but our UX demanded it. We needed players to know they were confined to a grid so that movement wasn't vague to them. 

Originally, all obstacles such as trees, rocks and treasure-chests were placed using a JSON file. Eventually one of our leads built a tile-based map editor which wrote the JSON for us, provided we offered grid dimensions and defined which tiles were what.
Water
I have no screens to demonstrate this in particular, just see the above island images. Our water shader responded to vertex colour, this way we were able to define which areas of the water should be quite shiny, and which parts should appear a dark ocean blue. We chose to darken the water close to the islands, and also to show some transparency there. The bottom of the island faded off in to the same colour as the blue background, which saved on any need to do that through the shader.
Cameras
Cameras were fixed or scripted in mini-games, but in over-world views they were isometric and drag-able. If you dragged too far away from your current island, we had what's called an elastic camera. It would basically hit some confines and bounce gently back into the safety of the island. The camera's limits were defined in a text file that simply drew lines through a series of points around the outside of the island. We were able to define these points using an actual mesh, whose vertex data was exported as a series of vectors from 3DSMax. It wasn't too complex, our camera bounds mesh basically looked like this:
Of course, this mesh didnt end up in the game, but the reference to the vertices did, and it kept the camera well within where it was supposed to be. So, yeah, each island had it's own unique one of these. It actually got a little more complex for the home island, we had to have many camera bounds meshes for the home island because your home island actually gets bigger as you play, which of course meant adjusting camera bounds in real-time.
Adventure Select
If you were at your home island, you were able to select an island to adventure to by swiping through islands on the ocean's horizon. Islands were 2D planes with 3D animals placed in front of them via JSON, for this reason, we don't cast shadows from the animals to the island.
Mini Games
There were 3 mini games that I can recall in Ice Age Adventures.

- Runner
- Gacha
- Match 3

I had nothing to do with the game-play or art per se but I did handle the positions of assets on a technical level. I will mention the runner last as it's the most technical, probably.
Gacha
Those prizes sit on moving ice bergs, you swipe and it cycles like a slot machine. I composited environments using JSON and baked shadows to the terrain in the background.
Match 3
Like the gacha, my role was really just to place assets in the background in a sortof cool way, characters were placed via JSON and had different positions in JSON to follow depending on which aspect ratio they were being displayed on. We weren't supporting many aspect ratios, about 3 I think. Animations and Match 3 gameplay art was all done by other artists.
Runner
In this, you play as Scrat who runs forever, accumulating as many points as possible to achieve a high score.

A non-infinite version of this was playable as Sid, instead, where you travel along a finite runner track, gather points and also save the baby on your way to the end of the track. It was possible to miss the baby, but you would unlock an animal for your home habitats if you did. It also gated story progression.
I composited the overall scenes and baked shadows/textures while prototoyping some of the shatter effects when you crash into something. Though a few people had a hand in putting these scenes together. The 'functional' tracks were initially defined in 3DSMax with a series of bezier curves, then exported into data, but another of our programmers ended up making a really cool editor that allowed us to use that initially exported curve data to travel along the track in an editor and place obstacles and berry pick ups in real time. From memory it was a really fun way to edit the levels.
In Conclusion
A really fun, awesome project. I got to work along-side some real top-guns who showed me the ropes as I entered the industry. I owe where I am today to so many people from this time and I'll never forget any of them.
Ice Age Adventures
Published:

Ice Age Adventures

Published:

Creative Fields